//package com.he.config.druid;
//
//import com.alibaba.druid.pool.DruidDataSource;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//
///**
// * @description: TODO
// * @Author: HCL
// * @Date: 2024/11/21 16:43
// */
//
//@Configuration
//public class DruidDataSourceConfig {
//
//    @Bean("MyDruidDataSource")
//    public DruidDataSource getDruidDataSource(
//
//            @Value("${spring.datasource.driver-class-name}")
//            String driverClassName,//数据库驱动程序
//
//            @Value("${spring.datasource.url}")
//            String url,// 数据库连接地址
//
//            @Value("${spring.datasource.username}")
//            String username,//数据库的用户名
//
//            @Value("${spring.datasource.password}")
//            String password,//数据库的用户名
//
//            @Value("${spring.datasource.druid.initial-size}")
//            int initialsize,// 初始化连接数
//
//            @Value("${spring.datasource.druid.min-idle}")
//            int minIdle,// 最小维持连接数
//
//            @Value("${spring.datasource.druid.max-active}")
//            int maxActive,// 最大连接数
//
//            @Value("${spring.datasource.druid.max-wait}")
//            long maxWait,//最长等待时间
//
//            @Value("${spring.datasource.druid.time-between-eviction-runs-millis}")
//            long timeBetweenEvictionRunsMillis,//关闭空闲连接间隔
//
//            @Value("${spring.datasource.druid.min-evictable-idle-time-millis}")
//            long minEvictableIdleTimeMillis,//最小存活时间
//
//            @Value("${spring.datasource.druid.validation-query}")
//            String validationQuery,//验证查询
//
//            @Value("${spring.datasource.druid.test-while-idle}")
//            boolean testwhileIdle,//测试空闲连接是否可用
//
//            @Value("${spring.datasource.druid.test-on-borrow}")
//            boolean testOnBorrow,//测试后返回连接
//
//            @Value("${spring.datasource.druid.test-on-return}")
//            boolean testonReturn,//测试后归还
//
//            @Value("${spring.datasource.druid.pool-prepared-statements}")
//            boolean poolPreparedstatements,//是否缓存PSTMTint
//
//            @Value("${spring.datasource.druid.max-pool-prepared-statement-per-connection-size}")
//            int maxPoolPreparedstatementPerConnectionsize //PSTMT缓存个数
//    ) {
//        DruidDataSource druidDataSource = new DruidDataSource();
//        druidDataSource.setDriverClassName(driverClassName);
//        druidDataSource.setUrl(url);
//        druidDataSource.setUsername(username);
//        druidDataSource.setPassword(password);
//        druidDataSource.setInitialSize(initialsize);
//        druidDataSource.setMinIdle(minIdle);
//        druidDataSource.setMaxActive(maxActive);
//        druidDataSource.setMaxWait(maxWait);
//        druidDataSource.setTimeBetweenConnectErrorMillis(timeBetweenEvictionRunsMillis);
//        druidDataSource.setMinEvictableIdleTimeMillis(minEvictableIdleTimeMillis);
//        druidDataSource.setValidationQuery(validationQuery);
//        druidDataSource.setTestWhileIdle(testwhileIdle);
//        druidDataSource.setTestOnBorrow(testOnBorrow);
//        druidDataSource.setTestOnReturn(testonReturn);
//        druidDataSource.setPoolPreparedStatements(poolPreparedstatements);
//        druidDataSource.setMaxPoolPreparedStatementPerConnectionSize(maxPoolPreparedstatementPerConnectionsize);
//        return druidDataSource;
//    }
//}
